/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package NovoSISAM.Dao;

import NovoSISAM.DataBase.DataBase;
import NovoSISAM.DataBase.DataBase.*;
import NovoSISAM.DataBase.Resultado;
import NovoSISAM.Gui.TelaPrincipal;
import NovoSISAM.Model.Usuarios;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**
 *
 * @author Thiago
 */
public class UsuarioDao {
  public static void inserirUsuario(Usuarios usuario){
        try {
            Object[] valores = new Object[4];
            valores[0] = usuario.getCodigo();
            valores[1] = usuario.getGrupo();
            valores[2] = usuario.getLogin();
            valores[3] = usuario.getSenha();

            DataBase.executaOperacao("insert into usuarios values(?,?,?,?)", valores);
            JOptionPane.showMessageDialog(null,"Usuario Cadastrado com Sucesso");

         } catch (Exception e){
                JOptionPane.showMessageDialog(null, "Nao foi possivel Salvar");
         }

    }

    public static Usuarios buscaLogin(Integer codigo, Integer grupo){

        Usuarios usuario =  null;
        Object[] valores =  new Object[2];
        valores[0] = codigo;
        valores[1] = grupo;
        Resultado rs = DataBase.executaConsulta("select * from usuarios where codigo=? and grupo=? ", valores);

        if(rs.qtdRegistros() != 0){
            usuario =  new Usuarios();
            usuario.setLogin((String) rs.valorCampo(0, "login"));
            usuario.setSenha((String) rs.valorCampo(0, "senha"));
        }
        return usuario;
    }
    public static void alterarUsuario(Usuarios usuario){


    }

    public static void excluirUsuario(Integer codigo, Integer grupo){

        try {
                Usuarios usuario =  null;
                Object[] valores =  new Object[2];
                valores[0] = codigo;
                valores[1] = grupo;

                  DataBase.executaOperacao("delete from usuarios where codigo = ? and grupo = ?", valores);
                  JOptionPane.showMessageDialog(null,"Usuario Excluido com Sucesso");

            } catch (Exception e) {

                  JOptionPane.showMessageDialog(null, "Nao foi possivel Excluir");
            }
    }

     public static void logarUsuario(String login, String senha){

         String senhadousuarioencontrado = null;

        PreparedStatement st;
        try {
            st = DataBase.cn.prepareStatement("select login,senha from usuarios where login=?");
            st.setString(1, login);
            //st.setString(2, senha);
            ResultSet rs = st.executeQuery();
            rs.next();
            //st.close();
            while(rs.next()){
               senhadousuarioencontrado = rs.getString("senha");
            }
            if(senhadousuarioencontrado.equals(senha))
                TelaPrincipal.setLogado(true);
        } catch (SQLException ex) {
            Logger.getLogger(UsuarioDao.class.getName()).log(Level.SEVERE, null, ex);
        }
     }
}
